<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>jsx语法规则</title>
    <style type="text/css">
      .title {
        background-color: pink;
        width: 200px;
      }
    </style>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>

    <!-- 引入react核心库 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入react-dom，用于支持react操作DOM -->
    <script
      type="text/javascript"
      src="../js/react-dom.development.js"
    ></script>
    <!-- 引入babel，用于将jsx转换成js -->
    <script type="text/javascript" src="../js/babel.min.js"></script>
    <script type="text/babel">
      const myId = "sTArBug";
      const myData = "Hello,ReaCt";
      //1.创建虚拟DOM
      const VDOM = (
        <div>
          <h2 className="title" id={myId.toLowerCase()}>
            <span style={{ color: "black", fontSize: "50px" }}>
              {myData.toLowerCase()}
            </span>
          </h2>
          <h2 className="title" id={myId.toLowerCase()+"!"}>
            <span style={{ color: "black", fontSize: "50px" }}>
              {myData.toLowerCase()}
            </span>
          </h2>
        </div>
      );

      //2.渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById("test"));

      /*
		jsx语法规则
			1.定义虚拟DOM时，不要写引号
			2.标签中混入js表达式时要使用{}
			3.样式的类名指定不要用class，要用className
			4.内联样式，要用style={{key:value}}去写
			5.虚拟DOM根标签只能有一个
			6.标签必须要闭合
			7.标签首字母
				(1)若小写字母开头，则将标签转为html中同名元素，若html中无该标签对应的同名元素，则报错
				(2)若大写字母开头，react就去渲染对应的组件，若组件没有定义，则报错
	  */
    </script>
  </body>
</html>
